Video analytics for human performance

ABSTRACT

The present application is directed to a system and method providing vision algorithms for identifying objects traveling in space and identifying the configuration of one or more targets of the objects. The system is suitably programmed to record data related to movement of objects in relation to one or more targets.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 15/674,505, filed on Aug. 10, 2017, which is entitled to thebenefit of the prior-filed U.S. provisional patent application Ser. No.62/373,334, filed on Aug. 10, 2016.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not applicable.

FIELD OF THE APPLICATION

The application relates generally to training and analyzing sportsrelated throwing activities.

BACKGROUND OF THE APPLICATION

The training and development of a baseball pitcher often focuses onmethods of improving throwing mechanics and throwing velocity whilepreventing or minimizing injury. However, traits related to pitchlocation, the movement on a pitched baseball and pitch selection frompitch to pitch for individuals are often neglected and not included aspart of training and development. While good velocity on a pitchedbaseball may help a pitcher get away with location mistakes in andaround the strike zone, the combination of pitch location, pitchselection, changing the speed of the baseball from pitch to pitch andthe movement placed on the baseball from pitch to pitch is desired forlong term pitching success—especially at higher levels of competition.

As is commonplace in athletics, individuals frequently offer differingphilosophies as to how pitchers should best approach the art ofpitching, i.e., how to best pitch to particular batters and how tomanage the strike zone via pitch location, pitch selection and movementon the baseball. An approach is desired that addresses Applicant's ownindividual philosophy regarding baseball pitching and targeted throwinggenerally.

SUMMARY OF THE APPLICATION

The present application is directed to a system, including (1) one ormore targets each target having an outlay of distinct zones; (2) one ormore objects to be directed toward one or more targets; and (3) acomputer vision system operationally configured to receive inputproviding the outlay of one or more particular targets; receive inputproviding one or more locations on one or more of the particular targetsintended to be contacted by one or more objects; receive input providingmotion information for one or more objects directed toward one or moretargets; receive input providing the location that each of the one ormore objects contacts a particular target; compute said received inputto provide information related to accuracy, object velocity, objecttravel path, object vertical displacement, and combinations thereof.

The present application is also directed to a system and methodincluding a computer visions system operationally configured to provideautomated pitching data useable with one or more predetermined physicaltarget configurations and/or virtual target configurations.

The present application is also directed to a system and methodincluding a computer vision system and one or more throwing targets eachhaving an outlay of one or more distinct colored zones. In order toidentify the location that a thrown object contacts a particularthrowing target, the system and method suitably employ vision algorithmsto cluster the different pixels of one or more target zones according tothe color distributions of the target zones.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING

FIG. 1 is a simplified illustration of an embodiment of the system ofthe present application.

FIG. 2 is a front view of an exemplary target of the system of theapplication.

FIG. 3 is a front view of an exemplary target of the system of theapplication.

FIG. 4 is a front view of an exemplary target of the system of theapplication.

FIG. 5 is a front view of an exemplary target of the system of theapplication.

FIG. 6 is a front view of an exemplary target of the system of theapplication.

FIG. 7 is a front view of an exemplary target of the system of theapplication.

FIG. 8 is a front perspective view of an exemplary target and baseballhome plate of the system including the target supported within aframework.

FIG. 9 is a front view of an exemplary target of the system of theapplication.

FIG. 10 is a front view of an exemplary colored target of the system ofthe application.

FIG. 11 is a simplified illustration of an embodiment of the system ofthe present application.

FIG. 12 is a flowchart illustrating the tracking of objects beingdirected through space to a target.

FIG. 13 is a sample model of individual target zones generated via thetarget zone recognition part of the system and method of the presentapplication.

FIG. 14 is a simplified illustration of the labeling process forlabeling connected components of a target of the present application.

FIG. 15 is an image of a baseball in flight toward a target used as partof the present system and method to identify the baseball usingbackground subtraction.

FIG. 16 is a visual representation of the background subtraction of theimage of FIG. 15 based on MoG for video with a static backgrounddetecting the moving baseball with no false positives.

FIG. 17 is an illustrative image of a baseball in flight toward a targetused as part of the present system and method to identify the baseballusing background subtraction with a moving camera lens.

FIG. 18 is a visual representation of the results of backgroundsubtraction of the image of FIG. 17 based on MoG for video with a movingcamera lens identifying several false positives.

FIG. 19 is a visual representation of part of the system including theidentified pixels of a moving baseball prior to the baseball contactinga target.

FIG. 20 is a visual representation of the identified pixels of thetarget of FIG. 19 once the target is impacted by the baseball.

FIG. 21 is a flowchart of an algorithm developed to analyze motion andposition of a baseball in flight as the baseball approaches a target.

FIG. 22 is a simplified view of a pitching throwing target and a markerstick of the present application.

FIG. 23 is a graph exemplifying the length in pixels of one footsections of a marker stick versus its distance at the center of eachsection in pixels from the left edge of the image frame of FIG. 22.

FIG. 24 is a graph illustrating the linear regression model of thedecrease in resolution of FIG. 23 for estimating dynamic pixelresolution at any location with the image frame of FIG. 22.

FIG. 25 is a simplified illustration of a target and path of a thrownbaseball pitch depicting the vertical displacement of the pitch.

FIG. 26 is a simplified depiction of a hind catcher and a virtual borderof a target's perimeter surface provided as part of the present systemfor use of a virtual target.

FIG. 27 is the image of FIG. 26 including a virtual target superimposedin front of the hind catcher to identify the location a pitched baseballhits the virtual target.

FIG. 28 is a front view of an exemplary target of the system of theapplication including a baseball making contact with the target inmultiple zones.

DETAILED DESCRIPTION

In baseball pitching, knowing when to throw, how hard to throw and whereto locate a particular pitch, successive pitches or a series of pitchesis vital for getting batters out on a consistent basis. Depending on thepitch count for a particular batter, if a pitcher does not vary thevelocity, movement and location of his/her pitches, a particular batteror the opposing team may better anticipate a particular type of pitchhaving a certain velocity in a particular location during a particularat-bat or series of at-bats. Since baseball batters rely heavily ontheir own timing and/or rhythm when hitting, a batter may better contactor hit a pitched ball when facing a pitcher that does not vary thevelocity, movement and location of pitches effectively. Thus, it isdesirable for pitchers to develop those skills that best disrupt abatter's timing and/or rhythm. The present application provide pitchersa system and method for developing, analyzing and recording pitchselection, velocity, movement and location accuracy according toApplicant's own philosophy regarding baseball pitching. Heretofore, sucha desirable achievement has not been considered possible, andaccordingly, the teaching of this application measure up to the dignityof patentability and therefore represents a patentable concept.

Before describing the invention in detail, it is to be understood thatthe present invention is not limited to particular embodiments. It isalso to be understood that the terminology used herein is for thepurpose of describing particular embodiments only and is not intended tobe limiting. As used in this specification and the appended claims, theterms “thrower” and “pitcher” may be used interchangeably to refer to anindividual throwing, casting, projecting, or propelling a ball or otherobject toward a target or “throwing target.” A “target” or “throwingtarget” may include a target surface for aiming one or more objects. Onesuitable target for baseball may include an array of distinct zones orregions thereon, which may be referred to herein as a “targetconfiguration” or “target outlay.” The terms “train,” “training” andlike terms refer to the instruction, development, analytics and/oreducation of an individual or individuals as related to the act ofthrowing. The terms “develop,” “developing” and like terms may be usedinterchangeably with “training,” “train” and the like. The term “ball”means a spherical projectile including, but not necessarily limited to aconventional baseball having seams and laces or a conventional softballhaving seams and laces. Because this application is not limited tobaseball, other types of activities may employ the technology of thisapplication. For example, other sport activities employing balls orpropelled objects are herein contemplated, e.g., soccer, Americanfootball, tennis, table tennis, racquetball, hand ball, water polo,javelin thrown, hammer throw, discuss throw, shot put, field hockey, icehockey, basketball, darts, firearm shooting, archery, lacrosse, bowling,badminton, volleyball, beach volleyball, golf, rugby, Australian RulesFootball, cricket, frisbee and horse shoes.

Herein, to “throw” means to propel a ball or other object from thethrowing hand of an individual so as to be airborne. A “session” mayrefer to any one particular period of system and/or method use by aparticular individual. For example, a game outing for a pitcher may beconsidered a single session. A particular practice outing may bereferred to as a single session or practice session as commonly referredto in the art of baseball. The phrase “pitching sequence” refers to anynumber of pitches delivered by a pitcher during a practice sessionand/or a single at bat for a particular batter in a game type setting.The terms “movement” and “movement on the ball” and like phrases referto the directional movement of the baseball in space from the point ofrelease out from a pitcher's hand toward a throwing target or catcher adesired distance. The term “velocity” refers to the traveling speed of apitched baseball. In baseball terms, the phrase “intended location” or“intended pitch location” refers to the desired location in space of aparticular pitched baseball as the baseball travels through or outsideof a predetermined strike zone and/or home plate. The phrase “location,”“pitch location,” “actual pitch location” and like phrases refers to thedefinite location of a pitched baseball in space as the baseball travelsthrough or outside of a predetermined strike zone and/or home plate. Theterms “control” and “situational control” refer to a pitcher being ableto throw a baseball to a specific location in space as desired. Inregard to activities other than baseball, phrases such as “aimingpoint,” “aiming location” and the like may be employed to reference adesired location for propelling a particular object through space.

The game of “baseball” may refer to either baseball or softball, i.e.,competitive fast pitch softball. The phrase “home base” includes thecommonly used phrases “home plate” or simply the “plate.” The phrase“strike zone” refers to a volume of space over a home plate throughwhich a baseball must travel to count as a strike. As understood bypersons familiar with the rules of Major League Baseball, the top of thestrike zone is defined as a horizontal line at the midpoint between thetop of the batter's shoulders and the top of the uniform pants. Thebottom of the strike zone is a line at the hollow beneath the kneecap,both determined from a batter's stance as the batter is prepared toswing at the pitched ball. The right and left boundaries of the strikezone correspond to the edges of home plate.

The phrase “situational pitching” and like terms refers to game typesituations and the pitches thrown in response to a given game typesituation. Herein, the term “infielder” refers to one or more of thefollowing position players: pitcher, catcher, first base, second base,third base, and shortstop. With reference to pitching, the phrase “pitchcount” refers to the total number of pitches thrown by a particularpitcher during a game or practice session. The phrase “batter's count”and “count” refer to the number of balls and strikes a batter has in aparticular plate appearance or at-bat as the terms are known by those ofordinary skill in the game of baseball. For example, when a batter firststeps into the batter's box for a particular plate appearance, thebatter's count starts at 0-0. The phrase “ahead in the count” refers toa pitcher possessing the advantage in an at-bat, i.e., when a pitcherhas thrown more strikes than balls to a particular batter during aparticular at-bat. When a batter is “ahead in the count,” there are moreballs than strikes during a particular at-bat. The phrase “protectinghome plate,” and like phrases, refer to a batter attempting to avoid acalled third strike by swinging at a pitched baseball. The phrases“pitching a strike,” “throwing a strike,” “strike” and like phrases,refer to a pitcher locating a pitched baseball within the designatedstrike zone according to the rules of the game of baseball, e.g., therules of Major League Baseball as of the date of this application.

The phrase “Righty” may refer to either a right handed throwing pitcheror a right handed hitting batter as understood by those of ordinaryskill in the game of baseball. Likewise, the phrase “Lefty” may refer toeither a left handed throwing pitcher or a left handed hitting batter.The phrase “muscle memory” refers to the process by which anindividual's neuromuscular system memorizes motor skills, such as thosemotor skills related to Applicant's own philosophy regarding the properapproach to pitching. The term “fastball” refers to a type of pitchtypically thrown with backspin, so that the “Magnus Effect,” i.e., theforce perpendicular to the forward motion on a spinning object movingthrough a fluid or gas, as that responsible for the curve on a curveball, creates an upward force on the ball, causing it to fall lessrapidly than might be expected. The fastball is typically a pitcher'shighest velocity pitch. The phrase “off-speed pitch” refers to types ofpitches other than fastballs. The term “change-up” refers generally toan off-speed pitch thrown with the same arm action as a fastball, but ata lower velocity. The phrase “breaking ball” refers generally tooff-speed pitches other than the change-up pitch as the term istypically known in the game of baseball and may be thrown with the samearm action as the fastball. The phrase “delivering a pitch” meansthrowing a baseball toward a throwing target or toward a catcher duringa game or game simulation type situation. Historically, in the game ofbaseball the phrase “charting pitches” and like phrases has referred tothe recordation of pitch location and/or pitch type and/or pitchvelocity for individual pitches thrown in practice and/or gamesituations by individual pitchers. For purposes of this application, thephrase “charting pitches” and like phrases may further refer to therecordation of the (1) intended and realized pitch location and/or (2)intended pitch type and/or (3) intended and realized pitch velocityand/or (4) intended and realized vertical displacement for individualpitches to a throwing target or hind catcher.

The phrase “irregular shape” refers to a zone of the throwing targethaving an outer border in a shape other than spherical, rectangular, andregular polygons. The term “batter” refers to the offensive player whotakes position in the batter's box to face a pitcher. As understood bythose of ordinary skill in the game of baseball, a batter may also bereferred to as a “hitter.” The phrase “hitting motion” and “battingmotion” may refer to the physical action of an individual from themoment he/she begins a hitting motion through the end of the swing partof the hitting motion. As understood by the skilled artisan, a baseballhitter typically begins the hitting motion by “loading the hands,”“triggering the hands” or “cocking the hands” as such phrases areunderstood in the art—alone, or in combination with a weight shifttoward the back leg thereby loading on the back leg or “coiling” asunderstood by persons of ordinary skill in the art. The term “ground”may refer to a sports playing surface or practice surface, a floor orother support surface of the system 100 described herein.

In one aspect, the application is directed to a system and methodproviding vision algorithms for identifying a throwing targetconfiguration and aiming pitches at one or more individual zones of thethrowing target to collect pitching data including, but not necessarilylimited to the intended pitch location of individual pitches, actualpitch location realized for individual pitches, the velocity ofindividual pitches, the vertical displacement of individual pitches, andcombinations thereof, in a manner effective to (1) provide informationin regard to accuracy and/or precision, (2) develop pitching accuracy,often referred to as “control,” (3) develop pitching precision, oftenreferred to as “command,” (4) develop one or more types of pitchesthrown by an individual pitcher and (5) optimize pitch location andpitch type for a series of pitches. As understood by persons of ordinaryskill in the art of target aiming, the term “accuracy” generally refersto how close measurements are to a true value or intended location of aparticular pitch. The term “precision” generally refers to how closemeasurements are to each other. Pitching data related thereto may beelectronically recorded and stored for future use. By knowing orinputting into the present system a particular throwing targetconfiguration or layout, the intended pitch location and/or the type ofpitch being thrown for individual pitches, the pitch location actuallyrealized for each pitch may be recorded and compared to the intendedlocation providing real time information regarding pitch control. Theaccumulation of recorded pitch locations realized may be used to provideinformation regarding pitch command or accuracy type information.Suitably, performance data for individuals may be recorded and analyzedto construct future pitch types and/or pitch locations for individualpitchers generally and/or in regard to one or more anticipated opponenthitters.

In another aspect, the application provides a system and method forthird party observation of pitching activities from a remote location inreal time via live video recording and/or at a later time or date viastored video recording.

In another aspect, the application provides a system and method ofcollecting and storing pitching data in regard to a predeterminedthrowing target configuration, intended pitch location and actual pitchlocation, the velocity of individual pitches, the vertical displacementof individual pitches, and combinations thereof. Suitably, the storeddata is retrievable electronically by one or more persons at one or moreremote locations.

In another aspect, the application provides vision algorithmsoperationally configured to detect or identify a particular target ortarget outlay comprising a plurality of throwing target zones ordistinct locations amongst a plurality of known target outlays in orderto accumulate contact location data of objects contacting the identifiedtarget. In baseball terms, vision algorithms may be employed to detector identify a target or target outlay including a plurality of throwingtarget zones or distinct locations to accumulate contact location dataof objects based on the intended pitch location of one or more pitchesand the actual pitch location of each pitch performed, the velocity ofindividual pitches, the vertical displacement of individual pitches, andcombinations thereof.

In another aspect, the application provides vision algorithms toidentify one or more independent target regions in space of one or moreknown throwing targets absent use of an actual physical throwing target.In other words, the present system is programmed to identify one or moreparticular visual or phantom target outlays for identifying the locationof pitched baseballs delivered to a hind catcher.

In another aspect, the application provides a system and method foridentifying one or more distinct target zones of a particular virtualtarget outlay in space amongst a plurality of throwing target outlaysusing a template matching algorithm, extracting an image of theidentified throwing target outlay and saving it as a throwing targettemplate for use by one or more individuals for mapping the location ofindividual pitches in relation to the target zones. The present systemand method is further operationally configured to change from a firstvirtual target outlay to a second virtual target outlay for a particularindividual during a particular session and/or during a differentsession. As such, the present system and method are effective to produceinformation regarding individual pitchers performance and/or improvementusing a particular target outlay compared to other target outlays. Instill another embodiment, the present system and method may beprogrammed whereby multiple target outlays may be used with a known setof charted pitch locations to produce varying data according to theindividual outlays of each of the targets. It is also contemplated thatdifferent pitchers, e.g., pitchers on the same team, may train usingdifferent throwing target outlays according to the type of pitcher inquestion. For example, a hard throwing pitcher may be able to use athrowing target with larger zones than a pitcher that does not throw ashard and/or relies on off-speed pitches for success. As understood bypersons of ordinary skill in the art of baseball, a person that throws afastball at great velocity, e.g., 152.9 to 159.3 km/h (95 to 99 milesper hour (“mph”)), can get by missing intended pitch locations simplybecause a pitch thrown at such velocity is hard to hit. A pitcher withan average fastball of about 143.2 km/h (89.0 mph) must have command ofhis/her pitches for success seeing that an 89.0 mph fastball is easierto make contact with than a 99.0 mph fastball.

In another aspect, the application provides a system and methodincluding a known throwing target having one or more colored targetregions or zones, the system and method employing vision algorithmsoperationally configured to cluster the different pixels of one or moretarget regions according to the color distributions of the targetregions in order to record actual location data where an objecttraveling through space contacts the throwing target.

In another aspect, the application provides vision algorithmsoperationally configured to detect velocity, i.e., estimate travel speedof an object in space, vertical displacement and actual location of apropelled object. In baseball terms, vision algorithms are operationallyconfigured to detect the velocity, vertical displacement and actuallocation of a pitched baseball. Moreover, vision algorithms areoperationally configured to detect the velocity, vertical displacementand actual location of a particular pitched baseball in or around aknown strike zone and compare the measured velocity, verticaldisplacement and actual location of the pitched baseball to the intendedvelocity, vertical displacement and intended location for thatparticular pitch.

In another aspect, the application provides computer vision algorithmsto automate the calculation of pitching statistics and store pitchingstatistics in an online accessible database.

In another aspect, the application provides a system and methodemploying data mining techniques to display targeted strengths andweaknesses of individual pitchers.

In another aspect, the application provides a system and methodincluding machine learning techniques to automatically learn executableand non-executable sequential pitch patterns of individual pitchers.

In another aspect, the application provides dividing pitch statisticsinto groups dependent on where individual pitched balls travel throughspace in relation to a particular intended target location, targetregion and/or strike zone of a pitched baseball and the actual targetlocation, region and/or strike zone realized for a particular pitchedbaseball.

In another aspect, the application provides a system and methodincluding a computer visions system with a proprietary databasecomprised of an automated pitch data collection system useable withpredetermined physical and virtual target outlays.

As understood by the skilled artisan in the game of baseball, a batterhas decided whether or not to swing the bat at a particular pitch by thetime the pitched baseball has traveled two-thirds of its travel distancein space toward home plate. Accordingly, the present applicationprovides a system and method of measuring the velocity and trajectory ofa pitched baseball during the first two-thirds of the baseball's traveldistance as well as the velocity and trajectory during the last third,the last third of the baseball's travel distance in space occurring oncea batter has typically already started the hitting motion.

In another aspect, the application provides a computer based systemincluding, but not necessarily limited to a programmable smart phone,smart watch or other mobile electronic device for receiving andinputting pitching information or data into the system via video camera.Without limiting the invention, types of pitching information mayinclude the intended pitch type, the intended pitch location, therealized pitch location, intended pitch velocity and actual pitchvelocity. Input data may be stored remotely and accessed remotely by oneor more persons.

In another aspect, the application provides vision algorithms fordetecting a pitched baseball in flight as the baseball appears in theframe of the video camera of the system. In one embodiment, such may beachieved by modeling the visually recorded background using a mixture ofGaussian components. Multiple adaptive Gaussians may be employed toaccommodate for the dynamic lighting and different surfaces recorded viathe video camera. In addition, the expected baseball shape, color, sizeand velocity may be input to discard non-baseball objects that were notfiltered out by the background subtraction.

In another aspect, the application provides a system and method forthrowing target detection modeling including identifying target regionson a throwing target using a model image of a throwing target and atemplate image. Each detected target region or zone is segmented into alarge number of clusters using an algorithm whereby each cluster islabeled based on its overlap with the template image. Thereafter,adjacent clusters sharing the same label are merged into one region orzone.

In another aspect, the application provides a video system and methodfor tracking and imaging a thrown baseball as it moves in a firstdirection toward a throwing target. An algorithm is used to track thebaseball and predict its position in subsequent video image frames. Thepredicted position of the baseball is used to narrow the search for theposition of the baseball in subsequent frames. The predicted position ofthe baseball is also used when the baseball cannot be detected incertain video frames. As a pitched baseball approaches a target, analgorithm is employed to track the baseball including any change intravel direction and/or velocity. In particular, the position and motionof the baseball may be analyzed in more detail to detect if the baseball(a) hits the ground and bounces off the ground before reaching thethrowing target; (b) hits the throwing target frame, if any, and bouncesback in a direction opposite the first direction; (c) misses thethrowing target completely; or (d) hits the throwing target whereby thezone(s) contacted by the baseball are detected and reportedelectronically.

In another aspect, the application provides a motion capture system andmethod for estimating the velocity of a thrown baseball using videospatial and temporal resolution and the distance traveled by thebaseball in the first five (5) recorded video image frames. The verticalmovement or vertical displacement of the baseball may also be computedas the difference in height between a baseball's altitude when it firstappears in frame and its altitude at a second location in space or whena baseball contacts the throwing target or when a baseball is caught bya hind catcher or other individual.

In another aspect, the application provides a motion capture system andmethod allowing for use of a video camera at more than one locationrelative a flight path of a target object. For example, in baseballterms, the application provides vision algorithms effective to allow avideo camera to be set at more than one location in relation to a knownpitching mound and corresponding home plate for recording pitchedbaseballs.

In another aspect, the application provides three-dimensional (“3-D”)modeling using multiple cameras to track the flight of a thrown baseballand use stereo vision to extract and parametrize the 3-D flight path ofthe baseball. The 3-D information allows a hind catcher to startreceiving pitches without having to use an actual throwing target tofirst set the various zones or regions of a virtual or phantom throwingtarget.

In another aspect, the application includes a system and methodeffective to provide two-dimensional (“2-D”) and 3-D video analysis ofan individual's throwing arm. A single video camera may be employed tomodel the motion of an individual's throwing arm during the act ofthrowing, e.g., a baseball pitcher delivering a pitch. A compactrepresentation of the throwing arm's motion may be documented. Thethrowing arm's motion may be parameterized and stored in an onlinedatabase. Stored information may be used to provide predictive dataanalytics for individuals, e.g., predictive performance information,stress applied to the throwing arm when throwing and/or other parts ofthe body, risk or probability of future injury, predictive performanceinformation and risk of injury information where an individual performsthe act of throwing from more than one “arm slot” or “arm angle.”

In another aspect, the application provides a motion capture system andmethod allowing for computer database storage of one or more individualpitchers over an extended period of time. Machine learning algorithmsare employed to analyze and mine the database to give predictiveanalytics to evaluation institutions such as college baseball personnel,international baseball personnel and professional baseball personnel.Suitably, profiles of successful pitchers may be recorded and recognizedand used to develop and recommend personalized training protocols forindividual pitchers. Robust clustering and feature selection algorithmsmay be employed to identify clusters of pitches sharing common features,i.e., measurement parameters. Each cluster may be considered as a uniqueprofile.

In another aspect, the application provides statistical algorithms forcorrelating measured parameters with observed outcomes, e.g., pitcherperformance improvement, performance based injuries. For example,classification algorithms may be employed for discrete value outcomes,regression algorithms may be employed for continuous value outcomes andoutlier detection algorithms may be employed to look for anomalies inthe collected data of the system.

In another aspect, the application provides a system and method forremote evaluation of athletes by coaches, scouts and other personnelbelonging to one or more sports teams or organizations.

In another aspect, the application provides a system and method forin-house use by one or more sports teams and/or organizations forproviding statistical information regarding pitcher performance per gameouting and over time, e.g., a month, a full season, multiple seasons, acareer, including multiple game outing data collected and stored to adatabase including, but not necessarily limited to an online accessibledatabase. In addition, statistical information may be collected forpitchers of a particular team and used to provide team based data.Statistical information may be collected for starting pitchers, reliefpitchers as well as data for pitchers serving both starting pitcher andrelief pitcher roles during a season.

In another aspect, the application provides a motion capture system andmethod operationally configured to record and store informationregarding individual pitchers including, but not necessarily limited toarm path, arm angle, weight transfer, the release point of the baseballfrom the throwing hand, the pitcher's tempo or elapsed time to performthe delivery of a pitch, body rhythm, rotational timing in relation tostride length, a pitcher's directional force toward a throwing targetsuch as a throwing target or catcher, the direction in space of apitcher's stride foot during the act of throwing, e.g., the slope of thestride foot, facial recognition to identify individual pitchers usingthe system, and combinations thereof. Because individual pitchers mayhave unique physical pitching mechanics, physical pitching mechanics maybe recorded and used in combination with collected pitching data toimprove and/or optimize individual pitching mechanics for one or moretypes of pitches in one or more particular locations. In a simplifiedexample, the present system and method may provide information that aparticular pitcher is more accurate locating curve balls in one or moreparticular locations in and around the strike zone when the throwing armis located in a particular slot. Data collected via the present systemmay demonstrate that the same individual is more accurate locatingfastballs or other types of pitches in one or more particular locationsusing a different arm slot than used when delivering a curve ball pitch.In another simplified example, collected system data may indicate that aparticular pitcher has greater velocity when throwing a particular typeof pitch when the pitcher performs the act of pitching at a particularrate or elapsed time, i.e., tempo. In still another example, collectedsystem data may show that a particular pitcher achieves greater or lessvertical displacement and/or velocity when aiming particular types ofpitches at particular zones on a particular target outlay. Accordingly,the present system and method may provide a grading system forindividual pitching mechanics in relation to one or more pitchingattributes as described herein.

In another aspect, the application provides a motion capture system andmethod operationally configured to help guard against arm injuries tothrowing arms by emphasizing the art of pitching rather than emphasizingraw velocity of pitches. Arm injuries may be reduced by increasingpitcher accuracy and/or pitch type and thereby minimizing individualgame pitch counts for individual pitchers whereby less stress is appliedto the throwing arm during a game session.

In another aspect, the application provides a motion capture system andmethod operationally configured to give individual pitchers easy and/orinexpensive exposure via remote computer vision technology rather thanincurring costs related with travel and lodging for in person tryoutsand showcases in front of by coaches, scouts and other personnelbelonging to one or more sports teams or organizations.

In another aspect, the application provides a motion capture system andmethod for providing personalized pitching instruction to individualpitchers including implementing data mining effective to generatecustomized strengths and weaknesses of individual pitchers and for usingmachine learning tactics to devise individual pitching practice sessionprotocols.

In another aspect, the application provides a system and method forbaseball personnel, e.g., coaches, baseball scouts, individual players,to chart pitches during practice and game situations.

In another aspect, the application provides a system and method allowingindividual pitchers to use computer vision in a smart phone applicationor “app” to record in real time (1) a model of a pitcher's delivery, (2)intended location and realized location of each pitch thrown incorrelation with a physical target outlay and/or virtual target outlay,(3) intended pitch velocity and measured pitch velocity and (4) verticalmovement of each pitch thrown.

In another aspect, the application provides a system and methodproviding inexpensive and/or readily accessible hardware needed togenerate human performance related metrics.

In another aspect, the application provides a system and method ofaccumulating pitching data to classify or otherwise rank individualpitchers against other pitchers, present and/or past, in a computerdatabase and/or to classify or otherwise rank specific groupings ofpitchers in a multitude of pitching ability or performance categories.The system and method also provides machine learning algorithmseffective to generate personalized strength and weakness reports forindividuals and/or groups of persons.

In baseball, today there is no quantified strike zone, baseballstatistics only document inside or outside of the strike zone. As such,no statistics exist to measure averages for pitchers executing pitchesin distinct zones or areas of the strike zone. In addition, there areparticular areas in and around a strike zone that particular pitchersmay try to avoid locating pitches. There are also zones or areas outsideof a strike zone that pitchers often purposefully target. The presentapplication provides the ability to record data related to intendedpitch location and actual or realized pitch location both in and outsideof a strike zone. By implementing a throwing target having individualnumbered zones and/or meaningful shaped zones and/or zones of meaningfulcolors, intended pitch location zones and realized pitch location zonesmay be visually recorded manually or via video equipment and there afterused for training and/or evaluation purposes of individual pitcherperformance generally and/or in regard to one or more individualopponent batters.

In one implementation of the system 100, one or more game type scenariosand the outcome of individual pitches, e.g., a called strike, a ball, aswinging strike, hit batsman, a foul tip, a batted ball and location onthe field the baseball is hit, may be recorded and the data used toimprove and/or train individual pitchers. In one simplified example,actual pitch location and/or pitch type data may be collected andanalyzed in regard to batter outcome per at-bat, providing informationregarding pitch location and/or pitch type that may be successful whenfacing a particular batter at various pitch counts during an at-bat.

As understood by persons of ordinary skill in the art of baseball, as ofthe time of this application, a throwing arm injury epidemic of sortsamong baseball pitchers exists as a result of over use, e.g., youngpeople playing too many games too many months out of the year. Becausehigh school, college and professional recruiters and scouts give rawvelocity so much weight, many young pitchers over throw in an attempt toimpress such observers. As a result, pitchers are making themselvessusceptible to injury. The present system and method provides aninexpensive way to (1) improve accuracy leading to lower pitch counts ingames and to (2) collect pitching related data, other than just rawvelocity, over desired periods of time that is effective to predictpitcher and reduce the number of arm injuries.

In baseball terms, the present application emphasizes the value of pitchefficiency, which refers to keeping pitcher pitch counts in games low bythrowing higher quality pitches. Suitably, pitch efficiency pitches isachieved by locating pitches in particular zones in and around a strikezone by throwing one or more types of pitches. If a pitcher has amaximum pitch limit of eighty-five (85) pitches and sixty (60) of themare of high quality, the pitcher will get more outs with less pitches.If only twenty-five (25) of eighty-five (85) are high quality pitches,then typically less outs will be achieved with the same total pitchcount. The present system and method teach and measure the quality ofeach pitch amongst several target zones and/or amongst several targetoutlays.

The oldest pitching metric in baseball other than strikes and balls isvelocity. At present, radar guns still play the biggest role in theevaluation of a pitcher. The present application provides technologythat is not only relatively inexpensive and accurate, but also providesadditional pitcher evaluation parameters such as “perceived velocity.”When a pitcher can control a slower pitch, e.g., a change-up, in aparticular part of the strike zone or a particular area outside thestrike zone, it not only puts less stress on the throwing arm but suchcan also make ones fastball appear faster to a hitter than its actualvelocity—this is herein referred to as perceived velocity. No matter howfast a pitch is traveling, if a hitter sees the same pitch in the samelocation time and time again, the hitter has a much better chance ofmaking contact with the baseball. If a hitter is forced to contemplatetwo or three different pitches that a pitcher can locate in particularzones in and around a strike zone, it becomes more difficult for ahitter to make solid contact with the pitched ball because a hittercannot anticipate a certain type of pitch in a certain zone. Pitchcommand suitably throws off a hitter's timing and increases a pitcher'schance for success against individual hitters.

With reference to FIG. 1, in one simplified implementation the system100 may include a target 115, an object 112 to be observed and recordedas it travels through space directionally toward a target 115 (see ArrowAA), a computer vision system including an image capturing system 117set at a first location that is operationally configured to recordimages of the object 112 in flight toward the target 115 and to recordimages of the contacted target 115 and a computer system H 9 programmedto process the images received from the image capturing system 117 toprovide one or more items of information including, but not necessarilylimited to object 112 velocity, flight path of the object 112 from apredetermined starting point in space to a target 115, the change invertical altitude of the object 112 during flight from a predeterminedstarting point in space to a point of contact between the object 112 andthe target 115 or the ground 123 in front of the target 115. Where theobject is a spherical object, the present system 100 may beoperationally configured to provide the spin rate of the object 112, therecorded point of contact of the object 112 on the target 115,predictive human performance related analytics, and combinationsthereof.

One suitable target 115 of the present system 100 may include a frontsurface defined by a plurality of individual or distinct target zonesand/or non-target zones for aiming a particular object 112 and foravoiding contacting altogether. The size of the target 115 and thelayout of one or more target zones and/or non-target zones may varyaccording to the particular object 112 employed and the particular taskor goal of a targeted exercise. For example, where the object 112 is athrowing dart, one or more target zones and/or non-target zones mayinclude a bulls eye and circular rings on a surface including individualzones within the bulls eye and/or within one or more circular rings (seeFIG. 2, zones marked “Z”). Where the object 112 includes a weaponsprojectile, one or more target zones and/or non-target zones may includea human shaped target on a surface (see FIG. 3, zones marked “X”). Wherethe object 112 includes an American football, one or more target zonesand/or non-target zones may include one or more identified zones on asurface (see FIG. 4, zones marked “Y”). Where the object 112 includes asoccer ball, a target 115 dimensionally similar as a soccer goal mayinclude one or more target zones (see FIG. 5, zones marked “S1” and“S2”) and/or non-target zones (FIG. 5, zone marked “S3”).

In baseball terms, where the object 112 is a baseball, the target 115 or“throwing target” may be located on a target surface 113 and include oneor more target zones (FIG. 6, zones 102; FIG. 7, zones 104) topurposefully contact and/or non-target zones (FIG. 6, zones 103; FIG. 7,zones 106) to purposefully avoid contacting with a thrown object 112such as a baseball. Suitably, the computer system 119 may be programmedto (1) recognize a particular physical target 115 amongst a plurality ofstored target templates using vision algorithms to detect the distinctzones of the target 115 provided, (3) record the intended location ofone or more individual pitches in or around one or more particular zoneson the target 115, (4) record the actual location that the baseball 112contacts the detected target 115 for one or more delivered pitches, (5)provide computational information regarding the accuracy of pitchesthrown according to the intended location and actual location of contactof each pitch along the target surface 113, and (6) provide a databaserelated to pitcher performance according to information collected andstored by the system 100. The system 100 may also be programmed torecord an intended type of pitch to be delivered, the intended velocityfor a particular pitch as well as measure the actual velocity of thepitch. The present system 100 may also be employed for other positionplayers where arm strength and/or accuracy are important, e.g., hindcatchers 155 throwing a baseball 112 from home plate 122 to second base;shortstops throwing a baseball 112 across the infield toward first base.

One suitable target surface 113 may include a substrate or materialhaving at least a first planar surface. In one embodiment, the targetsurface 113 may include a textile or sheet like material whereby one ormore releasable fastening members 114 may be implemented to maintain thetarget 115 in a vertical or upright position during use. Although notnecessarily limited to a particular type of attachment, suitablefastening members 114 include, but are not necessarily limited tostring, rope, fabric hook and loop fasteners, tape, adhesives, putty,clamps, wire, linked material, tie-wraps, bungee cords, and combinationsthereof.

Depending on the type of fastening members 114 used, the target surface113 may include a plurality of openings there through, the openingsbeing operationally configured to receive the fastening members 114 forattaching the target surface 113 to a frame or framework 116 as depictedin FIG. 8. In another embodiment, the target surface 113 may includeloops attached along its perimeter, the loops being operationallyconfigured to receive one or more fastening members 114 or hang from asupport such as beam or pipe. In still another embodiment, a sheet liketarget surface 113 may be suspended by fastening only the upper portionof the target surface 113 to a framework 116 or other structure such asnetting material. In another embodiment the target surface 113 may bedraped over a framework or the like in a manner effective to suspend thetarget 115 in an upright or vertical position for use. In yet anotherembodiment, the target 115 may directly receive one or more fasteningmembers 114. It is also contemplated herein that the target 115 andtarget surface 113 be permanently attached to a framework 116 or otherstructure. Even still, the target 115 may also be represented on a solidwall or other solid substantially vertically aligned planar ornon-planar surface as desired.

Without limiting the invention to any particular type of pitching target115 or target outlay, suitable targets 115 and target outlays forbaseball pitching may include targets as described in U.S. Pat. No.6,155,936, issued on Dec. 5, 2000; U.S. Pat. No. 6,878,078, issued onApr. 12, 2005; U.S. Pat. No. D612,002, issued on Mar. 16, 2010; U.S.Pat. No. 7,931,547, issued on Apr. 26, 2011; U.S. Pat. No. 5,439,211,issued on Aug. 8, 1995; U.S. Pat. No. D597,155, issued on Jul. 28, 2009;U.S. Pat. No. 8,579,734, issued on Nov. 12, 2013, each of which isherein incorporated by reference in its entirety.

FIG. 9 shows a simplified embodiment of a suitable target 115 for use aspart of the present system 100. This particular target 115 includes (1)target zones marked 1-10, (2) non-target zones marked 11-12, and (3) “K”target zones as shown. Suitably, the target zones 1-10, non-target zones11-12, and K zones are separated by solid or broken lines or otherdividers as desired. Although the lines or dividers are not necessarilylimited to a particular width, a suitable baseball pitching target 115may include solid lines having a width from about 0.32 cm to about 1.27cm (0.125 inches up to about 0.5 inches). In one particularlyembodiment, the solid lines may be about 0.64 cm (about 0.25 inches) inwidth. In any case, the lines/dividers should comprise a width greatenough for a pitcher and/or other observer(s) and/or the image capturingsystem 117 and the computer system 119 to perceive and distinguish thevarious zones.

In one particular embodiment, a target 115 may include a single coloracross the target zones and non-target zones. In still anotherembodiment, a target 115 may include multiple colors—one coloridentifying the target zones and a different color identifying thenon-target zones. In yet another embodiment including a non-zone region107 surrounding zones 1-12, a target 115 may include multiple colors, afirst color identifying the target zones 1-10, a second coloridentifying the non-target zones 11-12, and a third color identifyingthe non-zone region 107. Likewise, the lines/dividers may include asingle color or multiple colors as desired. As shown in FIG. 9, thelines/dividers 70 of the various zones may be black in color. In anotherembodiment, another color may be used as desired or as otherwiserequired, e.g., white, fluorescent color. As understood by the skilledartisan, the size, type and color of lines/dividers may vary accordingto the use or intended purpose of a particular system 100.

Suitably, the image capturing system 117 is operationally configured tovisually record a travel range 99 of an object 112 in flight to a target115 beginning at an initial point in space that is a predetermineddistance from a target 115 (see FIG. 1). In another embodiment, theimage capturing system 117 may be operationally configured to visuallyrecord a travel range 99 of an object 112 from a source 120 of an object112 to the target 115. In terms of athletics, a source 120 may include athrowing hand, a shooting hand or a kicking foot of an individual aswell as the point of release of an object from a surface of hand-heldsporting equipment, i.e., hockey stick, lacrosse stick, tennis racquet.In regard to firearm projectiles, a source 120 may include a firearm.For purposes of this application, the image capturing system 117, thecomputer system 119, including all hardware, software, databases,processors, wires, inputs, outputs, wireless network interfaces, andother electronics and computer programs may be referred to collectivelyas part of the “computer vision system.”

In one embodiment, the image capturing system 117 may include a digitalvideo camera as understood by the skilled artisan including an imagecapturing component and a recorder component for storing captured videoimages. Captured video images may then be communicated with an externalcomputer system 119 or computer systems as shown in FIG. 1. In anotherembodiment, the image capturing system 117 and computer system 119 maybe included on a single electronic device including, but not necessarilylimited to a mobile personal computer. Suitable mobile personalcomputers with video capture functionality for use as part of thepresent system 100 include, but are not necessarily limited to laptopcomputers, tablet computer, smartphone, digital cameras, andcombinations thereof where two or more image capturing systems 117 areemployed. In still another embodiment, a mobile personal computer may beused to capture video images and a separate computer system 119 may beused to interpret the images as programmed herein.

In another embodiment, the computer system 119 may be programmed todetect or recognize a particular physical target 115 and the distinctzones on the target 115 from amongst a plurality of target outlaysstored in the system 119. Once the physical target 115 is removed andreplaced with a person, i.e., a hind catcher 155, the computer system119 is programmed to (1) provide a virtual target 115 in the locationwhere the physical target was identified, (2) record the intendedlocation of one or more individual pitched baseballs 112 in or aroundone or more particular zones on the target 115, (3) record the actuallocation that the baseball 112 contacts a virtual target 115 accordingto where the catcher's mitt is located when receiving the baseball 112therein, (4) provide computational information regarding the accuracy ofpitches thrown according to the intended location and actual location ofcontact of individual pitches along the target 115 and (5) provide adatabase related to pitcher performance according to informationcollected and stored by the system 100. In another embodiment, a virtualtarget 115 outlay of the computer system 119 may be detected accordingto the location of a hind catcher and/or other object such as a homeplate 122.

In another embodiment, the computer system 119 may be programmed to usecomputer vision algorithms in conjunction with one or more objects 112and one or more physical targets 115 and/or virtual targets 115 tocapture and document data related to a particular target 115 outlayincluding, but not necessarily limited to individual pitcher deliverymechanics, performance metrics, predictive data, and combinationsthereof. Collected information may be maintained in a network, an onlinedatabase and/or via other electronic storage media as desired forfurther use as desired or as may be programmed as part of the computersystem 119.

As shown in FIG. 11, in one simplified baseball related embodiment acomputer vision system may be employed on a mobile computing device suchas a smartphone 125 to be held by a second individual, i.e.,non-pitcher, or secured to a tripod or other support and positioned in amanner effective to video record a pre-programmed travel range 99. Thecomputer vision system may be programmed to identify a particular target115 that is set a predetermined distance from a pitcher 120. Asunderstood by the skilled artisan, according to Major League Baseballrules the distance between a pitching rubber and home plate is 18.44meters (60.5 feet). According to Little League Baseball rules, thedistance between a pitching rubber and home plate is 14.02 meters (46.0feet). Regardless the distance, a target 115 may be located a distanceless than, greater than or equal to home plate. In one suitableembodiment, a target 115 may be positioned in a location similar as acatcher's mitt of a hind catcher. As understood by persons of ordinaryskill in the art of baseball, the distance of a hind catcher from homeplate may vary according to the location of a particular batter in abatter's box. As such, in one embodiment a target 115 may be locatedfrom about the rear edge of home plate 122 to about 0.91 meters (about3.0 feet) behind home plate 122—see the location of the target 115 asset behind home plate 122 in FIG. 8.

In one embodiment of the present system 100, a smartphone 125 may bepositioned as shown in FIG. 11. As understood by the skilled artisan, asmartphone 125 can include a processor, a memory, a display, a networkinterface and a video camera operationally configured to capture aseries of video images including a time associated with each image. Asalso understood by the skilled artisan, one or more applications forperforming the methods described herein may be downloaded to the phonefrom a remote code repository. 2-D image data captured using thesmartphone 125 camera may be used to generate pitching relatedinformation associated with a baseball 112 as discussed herein. 2-Dimage data may also be output via a smartphone 125 display and/or otheroutput mechanisms and/or uploaded to one or more remote servers,including, but not necessarily limited to websites, social mediawebsites, email transmission, facsimile transmission, and combinationsthereof, for sharing and/or storing the information. Likewise, data usedto generate pitching information may be stored directly on a smartphone125 and/or uploaded to one or more remote servers. In addition,individual image frames, or a group of individual frames, of videorecorded pitches may be stored and regenerated as desired.

In an embodiment of the system 100 as illustrated in FIG. 11, the system100 is suitably operationally configured to (1) document or record aspecific location where a particular pitch is being aimed on a target115 prior to delivery of the pitch—the intended location beingidentified by a distinct zone on the target 115, (2) record the actualpitch location a baseball 112 strikes the target 115 via the smartphone125 video camera, (3) store the information in a smartphone databaseand/or other database including, but not necessarily limited to a cloudcommunications network 130 (hereafter “cloud 130”) and (4) usingsoftware, generate data related to the intended pitch location and therealized pitch location, as well as the velocity and the verticaldisplacement of the pitched baseball 112.

In one embodiment, intended pitch location and/or intended velocityand/or pitch type and/or intended vertical displacement may be enteredinto the smartphone 125 manually via a smartphone 125 touch screen keypad. In another embodiment, information may be entered into the computervision system via voice recognition software (or “voice recognition”)provided as part of the system 100 or voice recognition previouslyinstalled on the smartphone 125. The computer vision system may also beprogrammed to enter a plurality of intended pitch locations and/or pitchtypes, a.k.a., a “series of pitches” or “sequence of pitches,” manuallyand/or verbally. Voice recognition and pitch series input data allows apitcher 120 to enter pitch intent information into the smartphone 125without having to physically touch the smartphone 125, i.e., withouthaving to walk over to the smartphone 125 between each individual pitchto be delivered toward the target 115. Such is beneficial in practicesessions where an individual pitcher 120 is practicing alone saving timeotherwise spent manually entering information into the smartphone 125.As understood by persons of ordinary skill in the art of baseball, theactivity of practicing pitching is often referred to as a “side session”or “throwing a side” and often takes place in what is known as a“bullpen” or a “side mound.”

In game type scenarios, the system 100 may include a computer visionsystem operationally configured to capture and record “catcher signals”or “signs” being communicated from a hind catcher 155 to a pitcher 120in regard to individual pitch location and/or pitch type according to alayout of zones for a particular target 115. The information may be usedto document intended pitch location and/or intended pitch type. In oneembodiment, an image capturing system 117 as provided in FIG. 1 may beused to capture and record catcher signals. In another embodiment, adifferent image capturing system 117 may be used as part of the system100 for capturing and recording catcher signals. For example, a secondimage capturing system 117 may be located beyond an outfield fence at aposition effective to record a catcher's hand signals unobstructed,e.g., a position near center field similar as the location of televisioncameras used in videoing live baseball games.

As understood by the skilled artisan, a second individual may enterinformation into the computer vision system, e.g., a smartphone 125,manually or via voice recognition. For example, a second individual suchas a pitching coach may verbally communicate pitch intent information toa pitcher 120 regarding one or more particular pitches to be deliveredtoward the target 115—the verbal command also being simultaneouslycommunicated to the smartphone 125 via voice recognition. In anotherembodiment, pitch intent information may originate with a pitcher 120who verbally communicates pitch intent information to a secondindividual for manually entering the information into the smartphone125.

With further reference to FIG. 11, the system 100 may also include acommunication device 127 wearable by an individual pitcher 120, thecommunication device 127 being effective to transmit pitch intentinformation to a computer vision system in relation to a known target115 outlay. A suitable communication device 127 may include a displayfor communicating pitch intent information and/or a speaker forproviding audible pitch intent information. One particular communicationdevice 127 may include a smart watch or bracelet. In another embodiment,a communication device 127 may be worn around the neck, on part of aplayer uniform including a cap or belt, on a sweatband or on a glove ofan individual pitcher 120. In still another embodiment, a communicationdevice 127 may be installed as part of a pitching rubber on a pitchingmound. In still another embodiment, a communication device 127 may beinstalled within a resin bag as understood by the skilled artisan. Inyet another embodiment, a communication device 127 may be set directlyupon a pitching mound.

With further reference to FIG. 11, a pitcher 120 may enter pitchlocation and/or pitch type information into the communication device 127manually via keys or keys on a display or via voice recognition into amicrophone on the communication device 127 prior to performing anindividual pitch or a series of pitches. The information is suitablytransmitted via wireless communication to the smartphone 125 prior todelivery of an individual pitch or series of pitches where after thecomputer vision system is operationally configured to video recordrealized pitch location to provide comparative data in relation tointended pitch location. The visual display, microphone and/or speakerof a communication device 127 may be similar as used on smartphones andother portable computer devices.

Comparative pitching related data may be stored over time in a system100 database and used or interpreted as desired. As an example, anindividual pitcher's 120 accuracy may improve over time in relation tolocating one or more particular types of pitches in one or moreparticular zones of a particular target 115. In addition, recordedsystem 100 data may indicate that an individual pitcher 120 is moreaccurate locating particular types of pitches in one or more particularzones in relation to one or more pitches executed. For example, the datagenerated by the system 100 may demonstrate that a particular pitcher120 may have better command of a curve ball pitch in a particular zoneof a particular target 115 when the prior pitch was also a curve ball.In another example, the data generated by the system 100 may demonstratethat a particular pitcher 120 may have better command of a fast ballaimed at a zone low on a particular target 115 where the prior pitch,regardless of pitch type, was also intentionally aimed low on the target115. Because any particular pitcher 120 may develop one or more accuracytraits on an individual basis, the above examples are not meant to belimiting in scope but rather provide simplified illustrations of thetypes of information that may be generated by the present system 100 byincorporating knowledge of intended pitch location and/or intended pitchtype prior to the recordation of the pitch performed.

The combinations of pitch location and/or pitch type data that may begenerated via the system 100 is not limited in scope, but may begenerated or programmed according to the needs of one or more particularend users. For example, a Major League Baseball team may use the system100 to generate data for individual pitchers facing particularindividual batters in regard to a series of pitches to be performed whenfacing a particular batter. Pitch location, pitch type, pitcher success,batter success (the type of hit and/or where in the field the baseball112 is hit), swing and miss information, the type of bat contact madewith a particular type of pitch in a particular pitch location, e.g.,ground ball, fly ball, pop up, hit off the end of the bat, jammed as theterm is used in baseball, and other data may be generated using thepresent system 100 according to information stored in the system 100database. As such, it is further contemplated that a communicationdevice 127 be employed to communicate pitch location and/or pitch typefor individual pitches and/or a series of pitches in relation to aparticular batter at the start of a particular at-bat—informationcommunicated to a pitcher, a hind catcher, or both. Other positionplayers may also be equipped with a communication device 127 in order toprovide defensive information according to hitter tendencies and/orhitter performance in relation to particular pitch location and/or pitchtype.

In an embodiment of the system 100 for baseball pitching including aphysical target 115 used for aiming individual pitches, the system 100may employ a computer program as shown in FIG. 12. In this embodiment,the computer program includes developed software having four main parts.The input data includes video files comprising recordings of successivepitches. The first frame is used to locate a physical target 115 usingtemplate matching and recognizing the zones of the target 115. Next, thesoftware enters in a loop that has the three remaining components. Thesecond part detects the first appearance of a baseball 112 in a scene ofthe travel range 99. The third part tracks the baseball 112 until thebaseball 112 reaches the target 115. Here, the software is also capableof recognizing instances where a pitched baseball 112 makes contact withthe ground 123 prior to reaching the target 115. The final partcontinues tracking the baseball 112 around the target 115. Thiscomponent considers different possible scenarios, e.g., baseball 112contacting the target 115, baseball contacting a framework 116supporting the target 115, and an invalid pitch. Once the iteration ofthe loop is completed, the context may be cleared thereby returning tothe first part. Suitably, the software ends its executions once all thevideo frames are processed.

In one embodiment, the software may be developed using C++ with the OpenSource Computer Vision Library (“OpenCV”). As understood by the skilledartisan, OpenCV suitably accelerates the development of computer visionand image processing applications while targeting production systems.OpenCV also includes functions for machine learning primitives.

—Target Detection

Although not necessarily required, a suitable target 115 may include aplurality of distinct zones separated by solid lines, each zoneincluding a particular solid color and the solid lines including a colornot used as the color of any of the individual zones. To locate such atarget 115 using the computer vision system a template matchingtechnique may be employed. In one embodiment, single-scale templatematching may be employed. In another embodiment, multi-scale templatematching may be employed. Using one or more video recordings, the borderof a target surface 113 may be manually located. Next, an image of thetarget 115 may be extracted and saved as a template. OpenCV suitablyprovides several score functions for template matching including anormalized cross-correlation based function. However, a templatematching technique may experience limitations. For example, if thedistance and/or angle from the image capturing system 117 to a target115 changes, the apparent target 115 size changes and the algorithmemployed may fail to detect the target 115. An achievement of thepresent application to overcome such a limitation and make the matchingscale constant or invariant includes using multi-scale template matchingfor the best region on the target 115 that matches the template. Byscaling the height and the width of the target 115 independently by afactor ranging from about 50.0% to 200.0% by an increment of 5.0%, thesearch is suitably repeated for the best matching region of the wholetarget 115.

—Target Zone Recognition

Once a target 115 is detected from a template, the system 100 suitablyemploys an algorithm to detect and identify distinct zones on the target115. In one embodiment, thresholding a target 115 image by identifyingedges or borders of distinct zones may be employed to detect orrecognize distinct zones on the target 115. In another embodiment,different pixels of the target 115 may be clustered according to theircolor distributions. For example, an expectation-maximization algorithm(“EM algorithm”) may be employed to cluster all pixels of a target 115based on their three-dimensional colors, i.e., red, green, and blue.Each cluster, characterized by an average color and a covariance matrix,corresponds to pixels that share similar colors. Since different zoneson a target 115 may have a common color (see zones 7 and 8 in FIG. 10)an additional step to split clusters that combines multiple zones intosub-clusters may be employed. Based on the fact that pixels fromdifferent zones on the target 115 do not belong to the same connectedcomponent according due to the lines defining the individual zones, oncethe pixels of the target 115 are clustered, each cluster is analyzed toidentify its connected components. Next, each connected component ofneighboring pixels belonging to the same cluster is considered to bepart of the same distinct zone on the target 115. This approach ensuresthat regions from different zones are not combined into the sameconnected component.

It is possible that some zones of a target 115 are partitioned intomultiple connected components. Thus, an additional step may be employedeffective to merge all adjacent connected components that have similarcolors. First, a model target is generated that assigns a unique colorand label to each zone on the target 115. This step only needs to beperformed once, however, it may be repeated in the event the target 115to be used changes, e.g., a different size target, a different zoneoutlay, the location of the image capturing system 117 is changed. Asample model 135 of the target zones generated is shown in FIG. 13—thetarget 115 employing white lines defining distinct zones of varyingshades of grey to black.

Each pixel from a connected component is part of a zone in model 135. Tolabel each connected component, the percentage of its pixels to eachzone is calculated and the region that has the highest percentage isselected. FIG. 14 illustrates the labeling process where the broken linerectangle 50 outlines the connected component and the solid linerectangles 51, 52 outline a model target region. In this instance, theconnected component will be mapped to the region 1 as illustrated.

In one embodiment, the EM algorithm is more effective where a largenumber of clusters are used for the clustering component of thealgorithm, e.g., about thirty clusters. Large number of clusters makesthe EM algorithm more sensitive to color variations. As such, identifiedclusters can distinguish between the different colors even when theillumination of the target 115 varies significantly. In addition, alarge number of clusters is effective to cause some clusters to bededicated to the lines defining or separating the individual zones. As aresult, connected components suitably do not mix pixels from differentzones.

—Baseball Detection

For detection of a baseball 112 in flight toward a target 115, onebackground subtraction method that may be employed is based on a Mixtureof Gaussians (“MoG”) approach in OpenCV. Such approach is suitable whena background of a visually recorded travel range 99 is static. However,where there is a dynamic background, e.g., a moving camera lens, treemotion due to wind, windblown leaves, windblown trash, flying insects, amoving vehicle in the background, a person walking in the background, ethe MoG may result in false positives. FIGS. 15 and 16 demonstrateexemplar results of background subtraction based on MoG for video with astatic background detecting a moving baseball 112 with no falsepositives. FIGS. 17 and 18 demonstrate exemplary results of backgroundsubtraction based on MoG for video with a moving camera lens identifyingseveral false positives.

In one embodiment, the false positives of FIG. 18 may be overcome orotherwise reduced via implementation of kernel density estimation(“KDE”). However, processing time for KDE is considered slow in the art,e.g., 400 ms to process a single frame. As such, in one suitableembodiment, MoG background subtraction in addition to a foregroundsubtraction step may be employed to reduce the number of false positivesand keep frame processing time at a minimum.

—Foreground Subtraction

As understood by the skilled artisan, the problem of motion noise invideos may be caused by different factors including dynamic background,e.g., moving camera lens, tree motion due to wind, and/or movingentities such as moving cars or flying birds captured by a video camera.Using a high frame rate of video recording, objects moving at a speedless than the anticipated speed of the baseball 112 are programmed toappear to be static between two consecutive frames. This is in contrastto a faster moving baseball 112 in flight that exhibits a small positionshift between consecutive frames. Thus, after the MoG backgroundsubtraction step, the foreground pixels between two consecutive framescan be subtracted and the following rules are applied:

Rule 1: if a moving object, detected as foreground after the MoGbackground subtraction step, is not detected in at least threeconsecutive frames (after subtracting consecutive frames), the movingobject is removed from the foreground.

Rule 2: if a moving object has not moved more than a predefined numberof pixels, the moving object is removed from the foreground.

—Tracking of an Object

In some instances, an object such as a baseball 112 may not be detectedin some frames, e.g., a background subtraction algorithm may fail todetect a baseball 112 in flight. Kalman filtering may be employed topredict the position of a baseball 112 and maintain an uninterruptedrecordable flight path of the baseball 112.

Herein, different scenarios are considered while tracking a baseball 112as it travels toward a target 115. A first scenario involves a baseball112 contacting and typically bouncing off the ground at a point in frontof the target 115. As a result, if the baseball 112 position is detectedmoving higher in altitude than previous positions before reaching thetarget 115, it is assumed that the baseball 112 has hit the ground andbounced upward. The result is recorded as an invalid pitch (see FIG.12—for invalid pitch go back to part two and wait for the next pitch).

When a baseball 112 reaches a target 115, part four of the software istriggered (see FIG. 12) whereby motion and position of the baseball 112are analyzed to detect if the baseball 112 (a) hits the target 115, (b)hits the target frame 116, (c) travels in front of the target 115 andmisses the target 115 or (d) misses the target 115 and disappears behindthe target 115 undetected.

Each of the four scenarios in the previous paragraph are suitablydetected according to an algorithm as discussed below.

—Baseball Hits the Target

When a baseball 112 hits a target 115 that is constructed from one ormore textiles, plastics, or other flexible material(s), the target 115suitably is deformed at the point of impact of the baseball 112 on thesurface of the target 115 whereby the target surface 113 changes from asubstantially planar surface to a non-planar surface for a period oftime until the target 115 reassumes its original planar surfaceorientation after impact. In regard to the computer vision system of thesystem 100, at impact many of the target 115 pixels will start moving inbetween frames. Suitably, the system 100 can distinguish between impacttype motion and minor motions that may be caused by wind or by abaseball 112 traveling close to the target 115 at a high enough speed todisturb the target 115.

With further reference to FIG. 12, the sum of the differences of thepixels' values in the target window between the current frame and theframe at the end of part three is computed, i.e., before detecting thebaseball 112 close to the target 115. FIGS. 19 and 20 depict thedifference between two consecutive frames of all pixels within a target115. Referring to FIG. 19, where the baseball 112, which is representedas the white colored circle on the rectangular black background, has yetto contact the target 112 only pixels that correspond to the movingbaseball 112 have changed. As shown in FIG. 20, once a baseball 112 hasmade impact with a target 115, most of its pixels are moved.

Next, the number and areas of connected components in the image that aredifference is detected. Suitably, if the difference is caused by amoving baseball 112 only, only one or a few connected components withsmall areas should be realized. On the other hand, major targetdeformation typically results in a large number of connected componentsor few components with very large areas. Thus, the algorithm will decidethat a baseball 112 has hit a target 115 if the sum of differencesexceeds a threshold, e.g., the number of connected components is morethan three or the sum of the areas of the connected components exceeds apredetermined threshold. The result is detecting the contacted zone.

—Baseball Hits the Target Frame

If a baseball's 112 initial travel path reverses direction, the system100 suitably detects the instance the baseball 112 bounces off the frame116 traveling in a direction opposite the initial travel path. Suchpitch is recorded as an invalid pitch.

—Baseball Travels in Front of the Target and Misses the Target

If a baseball 112 is detected as having traveled past a target 115without contacting either the target 115 or the frame 116, the pitchedbaseball 112 is recorded as an invalid pitch.

—Baseball Misses the Target Disappearing Undetected

If a baseball 112 cannot be detected in several consecutive frames, itis assumed that the baseball 112 has disappeared behind the target 115and the pitch is recorded as an invalid pitch.

A detailed flowchart of an algorithm developed to analyze motion andposition of a baseball 112 as it approaches a target 115 in regard tothe above scenarios is provided in FIG. 21. Table 1 below includesdetails related to the flowchart of FIG. 21.

TABLE 1 1000 Calculate the difference within the Target 115 windowbetween current frame and first frame 1001 Identify the pixels thatmoved within the target and regroup them as connected components (cc)1002 Is the difference >=Th1 or N^(o)(cc) >=3 or Σareas (cc) >=Th2 ?1003 Baseball hit the Target 115, use previous baseball 112 location toidentify the hit zone 1004 Predict next position using Kalman filter1005 Get baseball 112 location using background difference 1006 N^(o)frames baseball 112 undetected = 0 1007 Is the baseball 112 detected?1008 Increment N^(o) frames baseball 112 undetected 1009 Save baseball112 location 1010 N^(o) frames baseball 112 undetected = 0 1011 UpdateKalman filter parameters 1012 If the baseball 112 moved backward inopposite direction 1013 Invalid Pitch; the baseball 112 hit the frame116 1014 Is N^(o) frames baseball 112 undetected >=Th3 ? 1015 InvalidPitch; the baseball 112 disappeared behind the target 115 1016 Wait forthe beginning of the next pitch 1017 Is the baseball 112 no longer inthe target window ? 1018 Invalid pitch; the baseball 112 missed thetarget 115 1019 The baseball 112 is still in its travel path, continuewith baseball 112 tracking in the next frame

—Velocity Estimation

To compute the velocity or speed of a traveling object such as abaseball 112, two parameters are suitably identified: (1) the distancetraveled by the baseball 112 in a fixed number of frames and (2) thetemporal resolution of the video recording, i.e., the number of framesper second. As understood by the skilled artisan, the latter of the twomay be extracted from the video header and is typically about 240 framesper second. The number of pixels traveled by an object such as abaseball 112 may be computed using the position of the baseball 112detected at each frame.

In order to convert the distance from pixels to physical or actualdistance, the spatial resolution of the pixels is identified. Anyconversion performed is suitably accurate as a small deviation may causea large error in the estimated speed of a pitched baseball 112. Inaddition, because a baseball 112 has a fixed size and due to theposition of the image capturing system 117 (see FIG. 1), the resolutiondecreases as the baseball 112 travels toward a target 115. In otherwords, as a baseball 112 travels toward a target 115 the size of thebaseball 112 decreases gradually indicating a decrease in the spatialresolution.

In one mode of system 100 operation, it is assumed that the position andangle of the image capturing system 117 is fixed and a calibration stepis performed. One suitable calibration step may include setting up animage capturing system 117 in relation to a target 115 as shown inFIG. 1. As shown in FIG. 22, a marker stick 140 may be located in thebackground behind the field of travel of the baseball 112 toward thetarget 115. Without limiting the invention, a suitable marker stick 140may include a stick, pipe, rope, cable or other elongated device havingdistinct marks disposed on the surface of the marker stick 140. In onesuitable embodiment, the marker stick 140 may include a lengthequivalent to the travel range 99 with equidistant marks establishingsections, each mark being set apart about 0.30 meters (1.0 feet). In oneembodiment, the marker stick 140 may be set on the ground 123. Inanother embodiment, the marker stick 140 may be elevated above theground 123, floor or other support surface via one or more supports,e.g., chairs, sawhorses, bricks, as desired. Other modes of measurementmay be employed as desired according to one or more other backgroundsettings.

Once the marker stick 140 is positioned as desired, multiple videos maybe made to measure the length in pixels of each section of the markerstick 140 in individual image frames 143. Once measured, the length maybe plotted versus the distance of the one foot sections centers from theleft edge of the frame, hereafter referred to as the x-coordinate of thesection center. FIG. 23 depicts exemplary collected length measurements.As shown, the resolution decreases, meaning each one foot sectionappears shorter from left to right, i.e., the x-coordinate increases. Inaddition the decrease in resolution fits a linear pattern. This patternmay be characterized by fitting a linear regression model to estimatethe dynamic pixel resolution at any location within the frame (see FIG.24).

Once calibrated, the first N frames (typically N=10) after the baseball112 appears on the travel range 99 are used. For each frame, thedistance traveled in pixels is computed and converted to actual distanceusing the learned regression model and the position of the firstbaseball 112 to map from foot length to number of pixels. The sum of allN distances is then converted to velocity or speed using the temporalresolution (frames/sec) of the video recording.

—Vertical Displacement

Vertical displacement involves the difference of the vertical positionof an object such as a baseball 112 between its first appearance in thetravel range 99 of the object and at impact with a target 115 or otherdesired location in space. Similar as described above in relation tovelocity estimation, the vertical displacement of a baseball 112 may becalculated in the number of pixels between the highest and the lowestposition and converted into meters. Using the marker stick 140, thevertical resolution, i.e., the number of pixels per foot, issubstantially the same for each section of the marker stick 140. Amapping constant (about sixty (60) pixels per foot) is extracted fromone section of the marker stick 140 and used to calculate the verticaldisplacement. For example, see the simplified illustration of FIG. 25depicting calculated vertical displacement 145 showing the highest andlowest positions of the baseball 112.

—Implementation of a Virtual Target

In another embodiment, a physical target 115 may be replaced with aperson such as a hind catcher 155 and a virtual or phantom target 115used in place of a physical target 115. In this embodiment, the system100 suitably provides the estimated location of distinct zones of aparticular target 115 layout and the location that individual pitchescontact particular zones according to the layout of the virtual orphantom target 115.

As understood by the skilled artisan, the absence of a physical target115 means that the perturbation of the physical target 115 cannot beemployed. As a result, a different method is used to track the baseball112 in flight when employing a virtual target 115. In one embodimentemploying 2-D imaging, to establish the location and layout of a virtualtarget 115 a physical target 115 is first set in a desired position ator near an intended location, e.g., the location of a hind catcher'sglove or mitt when receiving pitches. The computer vision systemsuitably records several frames of the physical target 115 prior toreplacing the target 115 with a hind catcher 155. These initial framesare used to recognize the target 115 from a plurality of targettemplates of the system 100 and record the border 150 of a target 115 orits surrounding target surface 113, which is shown as rectangular inshape in FIG. 26.

With further reference to FIG. 26, which displays the path 157 of apitched baseball 112 until it is caught by a hind catcher 155, atemplate image of the baseball 112 as it first appears in view of theimage capturing system 117 is saved to the computer vision system. Asthe baseball 112 travels closer to the hind catcher 155 a multi-scaletemplate matching algorithm is applied using the saved baseball 112patch as a template to locate the next position of the baseball 112. Inevery frame, the scores obtained from template matching are thresholdedto detect if the baseball 112 has disappeared and if it was caught bythe hind catcher 155 (or “catcher 155”). The distance traveled by thebaseball 112 is also checked to determine if the distance is less thanhalf the distance it traveled in the previous frame. This last step maybe required in cases where the baseball 112 is caught but remainsvisible.

As the baseball 112 is caught by the catcher 155, the location where thebaseball 112 stops moving is recorded. Also, the system 100 suitablysuperimposes the previously identified physical target 115 to itsoriginal position within the border 150 as a virtual target 115providing the location, e.g., zone 102, on the target 115 where thebaseball 112 traveled (see FIG. 27).

In order to video record a baseball 112 as described above, the imagecapturing system 117 may be located at an angle as shown in FIG. 1 or ata different angle as may be required according to the location of system100 operation, e.g., due to limited space, an uneven surface of theground 123. In another embodiment, the system 100 may include an imagecapturing system 117 located behind a catcher 155 alone or in additionto a first image capturing system 117 as shown in FIG. 1. In oneembodiment, the back surface of the target 115 may include the outlay ofdistinct zones viewable in an opposite configuration compared to theoutlay as viewed from the front surface 113 as described above. Inbaseball game situations, an image capturing system 117 may be locatedbehind a backstop in the available seating area or from an elevatedposition behind a catcher in the seats or press box type location asunderstood by persons of ordinary skill in the art of baseball. In suchembodiment, the system 100 is operationally configured to view andrecord delivered pitches to a virtual target 115 according to the targetoutlay on the back surface of the target 115. Herein, such feature maybe referred to as “dual surface imaging.”

In still another embodiment, 3-D imaging may be implemented via theaddition of one or more image capturing systems 129 (see FIG. 11) at oneor more second locations, the image capturing systems and a home plate122, or other visual marker, being effective to establish the locationand layout of a predetermined virtual target 115 layout at a desiredlocation without the need of a physical target 115.

—Target Zone Identification

As discussed above, as a baseball 112 hits a target 115 the software ofthe present computer vision system suitably detects the zone that eachpitched baseball 112 contacts. Because zone dividers may include narrowlines compared to the diameter of the baseball 112, a baseball 112 mayactually contact more than one zone. As such, the computer vision systemis operationally configured to report three zones that have the highestpercentages of pixels from the baseball 112. For evaluation purposes, anadditional constraint is employed whereby the reported percentages inone particular zone have to be higher than 30.0% to report that zone asbeing hit or contacted by a pitched baseball 112. With attention to FIG.28, in a simplified example where a pitched baseball 112 hits the borderbetween zones 6 and 8, the system 100 software is operationallyconfigured to calculate the percentage of coverage of the baseball 112in each of the two zones. In a simplified example, where a baseball 112contacts a target 115 as shown in FIG. 28, the system 100 software mayreport zone 8 as the hit zone of the pitch based on a calculation that63.0% of the baseball 112 contacted zone 8 whereas 36.0% of the baseball112 contacted zone 6. It is further contemplated that a baseball 112 maycontact three or more zones, the software being operationally configuredto calculate the percentage of coverage of the baseball 112 on each ofthe contacted zones, e.g., a baseball 112 contacting zones 3, 6, 8 and10 in FIG. 28.

Operation of the computer vision system described herein may beimplemented in digital electronic circuitry, or in computer software,firmware, or hardware, including the structures disclosed in thisspecification and their structural equivalents, or in combinations ofone or more of them. Examples of the subject matter described herein canbe implemented as one or more computer programs, i.e., one or moremodules of computer program instructions, encoded on a non-transitorycomputer-readable storage medium for execution by, or to control theoperation of, data processing apparatus. The program instructions may beencoded on an artificially generated propagated signal, e.g., amachine-generated electrical, optical, or electromagnetic signal, whichis generated to encode information for transmission to one or morereceiver devices for execution by a processor or data processingapparatus, e.g., a 3:5 GHz 6-core processor or equivalent. A computerstorage medium may be included in a computer-readable storage device, acomputer-readable storage substrate, a random or serial access memoryarray or device, or a combination of one or more of each. In addition, acomputer storage medium may be a source or destination of computerprogram instructions encoded in an artificially generated propagatedsignal. Computer storage medium may also be included in one or moreseparate physical components or media (e.g., multiple CDs, disks, orother storage devices).

The operations of the present system 100 may be implemented asoperations performed by a processor or data processing apparatus on datastored on one or more computer-readable storage devices or received fromother sources. The term “processor” or “data processing apparatus” or“computing device” may include various apparatuses, devices, andmachines for processing data, including, but not necessarily limited toa programmable processor, a computer, a system on a chip, or multipleones, and combinations thereof. An apparatus of the system 100 mayinclude special purpose logic circuitry, e.g., an FPGA (fieldprogrammable gate array) or an ASIC (application specific integratedcircuit). A suitable apparatus may also include, in addition tohardware, code that creates an execution environment for a computerprogram, e.g., code that constitutes processor firmware, a protocolstack, a database management system, an operating system, across-platform runtime environment, a virtual machine, or a combinationof one or more of them.

A computer program, i.e., a program, software, software application,script, application or code, of the present system 100 may be written inany form of programming language, including compiled or interpretedlanguages, declarative or procedural languages, and it may be deployedin any form, including as a stand-alone program or as a module,component, subroutine, object, or other unit suitable for use in acomputing environment. A computer program may, but need not, correspondto a file in a file system. A program may be stored in a portion of afile that holds other programs or data (e.g., one or more scripts storedin a markup language document), in a single file dedicated to theprogram in question, or in multiple coordinated files (e.g., files thatstore one or more modules, sub programs, or portions of code). Acomputer program may be deployed to be executed on one computer or onmultiple computers that are located at one site or distributed acrossmultiple sites and interconnected by a communication network such as acloud 130.

The processes and logic flows of this application may be performed byone or more programmable processors executing one or more computerprograms to perform actions by operating on input data and generatingoutput. The processes and logic flows may also be performed by, andapparatuses may also be implemented as, special purpose logic circuitry,e.g., an FPGA (field programmable gate array) or an ASIC (applicationspecific integrated circuit).

System 100 processors suitable for the execution of a computer programmay include both general and special purpose microprocessors and any oneor more processors of any kind of digital computer. As understood by theskilled artisan, a processor receives instructions and data from a readonly memory or a random access memory or both. The essential elements ofa computer are a processor for performing actions in accordance withinstructions and one or more memory devices for storing instructions anddata. As also understood by the skilled artisan, a computer may include,or be operatively coupled to receive data from or transfer data to, orboth, one or more mass storage devices for storing data, e.g., magnetic,magneto optical disks, or optical disks. However, a computer need nothave such devices. A computer may be embedded in a device such as alaptop computer, tablet computer, smartphone 125, digital camera, amobile telephone other than a smartphone 125, a personal digitalassistant (“PDA”), a mobile audio or video player, a game console, aGlobal Positioning System (“GPS”) receiver, or a portable storagedevice, e.g., a universal serial bus (USB) flash drive. Devices suitablefor storing computer program instructions and data may include all formsof non-volatile memory, media and memory devices, including by way ofexample semiconductor memory devices, e.g., EPROM, EEPROM, and flashmemory devices; magnetic disks, e.g., internal hard disks or removabledisks; magneto optical disks; and CD ROM and DVD-ROM disks. Theprocessor and the memory of the system 100 may be supplemented by, orincorporated in, special purpose logic circuitry.

To provide for user interaction, examples of the subject matterdescribed herein may be implemented on a computer having a displaydevice, e.g., a CRT (cathode ray tube), plasma, or liquid crystaldisplay (“LCD”) monitor, for displaying information to a user and akeyboard and/or a pointing device, e.g., a mouse, touch screen or atrackball, by which a user may provide input to the computer. Otherdevices may be used to provide for user interaction. For example,feedback provided to a user may be any form of sensory feedback, e.g.,visual feedback, auditory feedback, or tactile feedback and input from auser may be received in any form, including acoustic, speech, or tactileinput. In addition, a computer may interact with a user by sendinginformation to and receiving information from a device that is used by auser, for example, sending information to a web browser on a user'sclient device.

Examples of the subject matter described herein may be implemented in acomputing system that includes a back end component, e.g., as a dataserver, or that includes a middleware component, e.g., an applicationserver, or that includes a front end component, e.g., a client computerhaving a graphical user interface or a Web browser through which a usermay interact with an implementation of the subject matter describedherein, or any combination of one or more such back end, middleware, orfront end components. The components of the system may be interconnectedby any form or medium of digital data communication, e.g., acommunication network. Examples of communication networks include alocal area network (“LAN”) and a wide area network (“WAN”), aninter-network (e.g., the Internet), and peer-to-peer networks (e.g., adhoc peer-to-peer networks).

The system 100 may also include clients and servers. A client and serverare generally remote from each other and typically interact through acommunication network such as a cloud 130. The relationship of clientand server arises by virtue of computer programs running on therespective computers and having a client-server relationship to eachother. In some examples, a server transmits data to a client device(e.g., for purposes of displaying data to and receiving user input froma user interacting with the client device). Data generated at the clientdevice (e.g., a result of the user interaction) may be received from theclient device at the server.

The invention will be better understood with reference to the followingnon-limiting example, which is illustrative only and not intended tolimit the present invention to a particular embodiment.

EXAMPLE 1

In a first non-limiting example, the system 100 is operationallyconfigured to provide the vertical displacement 145 of a pitchedbaseball 112 as shown in the simplified illustration of FIG. 25. For oneparticular pitch delivered to a target 115 set about 18.9 meters (62.0feet) from a pitcher's rubber, the vertical displacement 145 recorded isabout 0.58 meters (1.93 feet).

Persons of ordinary skill in the art will recognize that manymodifications may be made to the present application without departingfrom the spirit and scope of the invention. The embodiment(s) describedherein are meant to be illustrative only and should not be taken aslimiting the invention, which is defined in the claims.

I claim:
 1. A computer vision system for collecting and analyzingbaseball pitching data for one or more individual pitchers, including: amobile personal computer operationally configured to (1) capture videoimages of pitched baseballs in flight from a pitcher located on apitching mound to a glove of a person provided as a hind catcher, (2)provide a virtual target in space in front of the hind catcher accordingto the location of a home plate set apart from the pitcher and thelocation of a strike zone, the virtual target being selected from aplurality of virtual targets stored on the mobile personal computer,each virtual target of the plurality of virtual targets having an outlayof distinct zones in and outside the strike zone including one or moretarget zones and one or more non-target zones, (3) record hind catcherhand signals communicating information between the hind catcher and thepitcher including an intended pitch type and intended target zone pitchlocation for one or more individual pitches, and (4) record a realizedpitch location for one or more pitched baseballs in relation to theoutlay of distinct zones; wherein the home plate is set apart from thepitcher a first distance and wherein the virtual target may be located adistance from the pitcher less than, greater than or equal to the firstdistance.
 2. The computer vision system of claim 1 wherein the mobilepersonal computer may be set at more than one location in relation tothe pitching mound and the home plate.
 3. The computer vision system ofclaim 1 wherein the mobile personal computer is operationally configuredto identify a virtual target outlay in space according to the locationof the hind catcher.
 4. The computer vision system of claim 1 whereinthe mobile personal computer is programmed to use computer visionalgorithms in conjunction with one or more individual pitches and thevirtual target outlay to capture and document data related to the one ormore pitched baseballs and the virtual target outlay, the data beingselected from the group consisting of individual pitcher deliverymechanics, performance metrics, predictive data, and combinationsthereof.
 5. The computer vision system of claim 4 further includingelectronic storage media, wherein the captured and documented data maybe maintained in the electronic storage media.
 6. The computer visionsystem of claim 5 wherein the electronic storage media may be selectedfrom the group consisting of a network, and an online database.
 7. Thecomputer vision system of claim 1 wherein the mobile personal computeris a smartphone and wherein the smartphone may be positioned at an anglerelative to the pitcher and the virtual target in a manner effective todetect the vertical displacement of the one or more pitched baseballs.8. The computer vision system of claim 1 wherein the mobile personalcomputer is a digital video camera and wherein the digital video cameramay be positioned at an angle relative to the pitcher located on thepitching mound and the virtual target in front of the hind catcher in amanner effective to detect the vertical displacement of the one or morepitched baseballs.
 9. The computer vision system of claim 1 furtherincluding a computer system in electronic communication with the mobilepersonal computer, wherein the mobile personal computer includes animage capturing system and wherein the computer system is programmed toprocess images received from the image capturing system to provide oneor more items of information regarding pitched baseballs.
 10. Thecomputer vision system of claim 9 Wherein the one or more items ofinformation are selected from the group consisting of the velocity of apitched ball, the flight path of a pitched ball, the change in verticalaltitude of a pitched ball, the spin rate of a pitched ball, therecorded point of contact of the pitched ball with the virtual targetoutlay, predictive human performance related analytics, and combinationsthereof.
 11. The computer vision system of claim 1 wherein the computervision system may be used in baseball game type settings in regard toone or more individual opponent batters.
 12. A computer vision systemfor recording and storing information regarding individual baseballpitches delivered from a baseball pitcher to a glove of a personprovided as a baseball hind catcher, including: a smartphone including acamera and a smartphone application stored thereon; a virtual targethaving a target outlay of distinct zones including distinct target zonesand non-target zones, the virtual target being located in space betweenthe baseball pitcher and the baseball hind catcher a predetermineddistance from the baseball pitcher according to the location of a homeplate located between the baseball pitcher and baseball hind catcher andaccording to the location of a strike zone, wherein the virtual targetmay be located a distance from the pitcher less than, greater than orequal to the distance of the home plate from the pitcher; wherein thesmartphone application is programmed to record in real time informationincluding (1) a model of the baseball pitcher's delivery, (2) intendedlocation of individual pitched baseballs as communicated from thebaseball hind catcher to the baseball pitcher via catcher hand signalsaccording to the target outlay of distinct target zones, (3) realizedlocation of individual pitched baseballs according to the target outlayof distinct target zones and non-target zones in and outside the strikezone, (4) intended pitch velocity of individual pitched baseballs, (5)measured pitch velocity of individual pitched baseballs and (6) verticalmovement of each individual pitched baseball thrown in space from thepitcher to the glove of the baseball hind catcher.
 13. The system ofclaim 12 wherein the smartphone application is programmed to store aplurality of virtual targets, each virtual target having an outlay ofdistinct zones including one or more target zones and one or morenon-target zones.
 14. The system of claim 13 wherein the smartphoneapplication is programmed to identify a virtual target in space from theplurality of virtual targets.
 15. The system of claim 12 wherein thesmartphone includes a microphone, wherein the intended location ofindividual pitched baseballs and intended pitch type communicated fromthe baseball hind catcher to the baseball pitcher via catcher signalsmay be entered into the smartphone application via voice recognition byan individual other than the baseball hind catcher and the baseballpitcher.
 16. The system of claim 12 wherein the target outlay may beselected from a plurality of virtual target outlays, each virtual targetoutlay having an outlay of one or more distinct zones in space, whereinthe smartphone application is programmed to include a template matchingalgorithm operationally configured to (1) identify one or more distinctzones pertaining to a particular virtual target outlay in space amongsta plurality of virtual target outlays, and (2) extract and save an imageof an identified virtual target outlay as a throwing target template foruse by one or more individuals for mapping the realized location ofindividual pitched balls in relation to the one or more distinct zonesof the virtual target outlay in space, wherein the realized location ofeach individual pitched ball is determined according to a percentage ofcoverage of the pitched hall on one or more distinct zones of the one ormore distinct zones contacted by the pitched ball.
 17. The system ofclaim 13 wherein the information recorded may be stored on a databaseincluding a cloud communications network.
 18. A method for trainingbaseball pitching for one or more pitchers, the method comprising:providing a computer vision system including a mobile personal computeroperationally configured to (1) be set at one or more locations inrelation to a first person provided as a pitcher located on a pitchingmound and a second person provided as a hind catcher located behind acorresponding home plate, (2) provide a virtual target in space in frontof the hind catcher according to a location of the corresponding homeplate and the location of a strike zone wherein the distance of thevirtual target from the pitching mound may vary, the virtual targetbeing selected from one or more virtual targets stored on the mobilepersonal computer, each virtual target stored on the mobile personalcomputer having an outlay of distinct zones including one or more targetzones and one or more non-target zones in and outside the strike zone,(3) record information communicated from the hind catcher to the pitchervia catcher hand signals including an intended pitch type and intendedtarget zone pitch location for one or more individual pitches, (4)capture video images of one or more individual pitched baseballs inflight from the pitcher to a glove of the hind catcher, (5) record arealized pitch location for one or more pitched baseballs in relation tothe outlay of distinct zones, and (6) compare realized pitch location tointended target zone pitch location for one or more individual pitchedbaseballs; with an intended pitch type and intended target zone pitchlocation for one or more individual pitches communicated between thehind catcher and the pitcher, the pitcher throwing one or moreindividual pitches to the hind catcher whereby the computer visionsystem records the realized pitch location fix each pitch in relation tothe virtual target provided and compares the realized pitch location foreach pitch with the intended target zone pitch location for each pitchproviding comparative data for each pitch.
 19. The method of claim 18further comprising the computer vision system recording the intendedpitch type, the intended target zone pitch location and the realizedpitch location for one or more individual pitches for different pitcherson a baseball team and providing comparative data for the differentpitchers.
 20. The computer vision system of claim 1 wherein the realizedlocation of a pitched baseball of the one or more pitched baseballs isdetermined according to a percentage of coverage of the pitched baseballon one or more distinct zones of the target outlay.